﻿
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
// 菜单

function SetContextualMenu()
{
	var contextual_menu:ContextMenu = new ContextMenu();
	
    // 打印
	var menuPrint:ContextMenuItem = new ContextMenuItem("打印图形...");
	menuPrint.onSelect = function(obj, item)
	{
		var pj:PrintJob = new PrintJob();
		if (pj.start()) {

			// save original _root size
			var r:Object = {
		  		width: _root._width,
				height: _root._height
		  	};
			
		  	// choose scalefactor from larger dimension
			if(r.width > r.height){
				var scaleFactor = pj.pageWidth/r.width;
			} else {
				var scaleFactor = pj.pageWidth/r.height;
			}
			// do the _root scaling
			_root._xscale = (scaleFactor*100) - 1;
		  	_root._yscale = (scaleFactor*100) - 1;
		  
			// add the page to the job and print
			if (pj.addPage(0, {xMin:0, xMax:Stage.width, yMin:0, yMax:Stage.height})) {
				pj.send();  // print page
			}
		  	// set original size back
		  	with(_root){
				_width = r.width;
				_height = r.height;
		  	}
	 	}
		delete pj;
	};	
	 
	contextual_menu.customItems.push(menuPrint);
	
	// 关于
	var menuAbout:ContextMenuItem = new ContextMenuItem("关于...");
	menuAbout.onSelect = function(obj, item) {
        getURL("javascript:popup=window.open('http://teethgrinder.co.uk/open-flash-chart/','ofc', 'toolbar=Yes,location=Yes,scrollbars=Yes,menubar=Yes,status=Yes,resizable=Yes,fullscreen=No'); popup.focus()");
	};
	contextual_menu.customItems.push(menuAbout);

	contextual_menu.hideBuiltInItems();
	 
	createClassObject
	_root.menu = contextual_menu;
}

////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
function MakePie()
{
	_root.mPie = new PieShape( this, 'pie' );	
}


function MakeChart()
{
	
}
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// 
function ShowMessage( text:String )
{
	if( _root.mMessage != undefined )
	{
		HideMessage();
	}
	
	var mc:MovieClip = _root.createEmptyMovieClip( "mMessage", this.getNextHighestDepth() );
	mc.createTextField("txt", this.getNextHighestDepth(), 5, 5, 100, 100 );
	mc.txt.text = text;
	
	var fmt:TextFormat = new TextFormat();
	fmt.color = 0x000000;
	fmt.font = "Verdana";
	fmt.size = 12;
	fmt.align = "center";
	mc.txt.setTextFormat(fmt);
	mc.txt.autoSize="left";
	
	mc.txt.setTextFormat(fmt);
	
	var cstroke = {width:2, color:0x808080, alpha:100};
	var ccolor = {color:0xf0f0f0, alpha:100};
	
	ChartUtil.RRectangle(
		mc,
		mc.txt._width+10,
		mc.txt._height+10,
		6,
		(Stage.width/2)-((mc.txt._width+10)/2),
		(Stage.height/2)-((mc.txt._height+10)/2),
		cstroke,
		ccolor);
	
	var dropShadow = new flash.filters.DropShadowFilter();
	dropShadow.blurX = 4;
	dropShadow.blurY = 4;
	dropShadow.distance = 4;
	dropShadow.angle = 45;
	dropShadow.quality = 2;
	dropShadow.alpha = 0.5;
	// apply shadow filter
	//mc.filters = [dropShadow];
}

function HideMessage()
{
	if(_root.mMessage != undifined) 
		removeMovieClip("mMessage");
}
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
function LoadVarsOnLoad( success )
{
	if( !success )
	{
		_root.ShowMessage(_root.data);
		return;
	}

	for(i in _root)
	{
		if(typeof(_root[i])=='movieclip')
		{
			removeMovieClip(_root[i]);
		}
		delete i;       
	}
	
	if( this.pie != undefined )
	{
		this.MakePie();
	}
	else
	{
		this.MakeChart();
	}

	
	if( this.tool_tip != undefined )
	{
		_root.TooltipWrapper = this.tool_tip.replace('#comma#',',');
	}
	
	_root.Move();
}

function Move()
{
	if( _root.mPie != undefined )
	{
		_root.mBackground.move();
		_root.mPie.OnSize();
		return;
	}
}
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////

//菜单
SetContextualMenu();

Stage.align = "LT";
Stage.scaleMode = "noScale";


ShowMessage('正在加载数据......');
var mDataset:LoadVars = new LoadVars();
mDataset.onLoad = LoadVarsOnLoad;
mDataset.MakeChart = MakeChart;
mDataset.MakePie = MakePie;
if( _root.data == undefined )
{
	if( _root.variables == undefined )
	{
		_root.data="G:\\youhp\\youhp\\YouHP.Chart\\data.txt";
		mDataset.load(_root.data);
	}
	else
	{
		_root.LoadVarsOnLoad = LoadVarsOnLoad;
		_root.LoadVarsOnLoad( true );
	}
}
else
{
	mDataset.load(_root.data);
}


stop();